package com.alibaba.algo.cooperation.usercomponent.service.dict;

import com.alibaba.algo.cooperation.common.BaseResult;
import com.alibaba.algo.cooperation.usercomponent.vo.req.dict.CreateDictRequestVO;
import com.alibaba.algo.cooperation.usercomponent.vo.req.dict.DeleteDictRequestVO;
import com.alibaba.algo.cooperation.usercomponent.vo.req.dict.SelectDictListRequestVO;
import com.alibaba.algo.cooperation.usercomponent.vo.req.dict.UpdateDictRequestVO;
import com.alibaba.algo.cooperation.usercomponent.vo.res.dict.SysDictResponseVO;
import com.alibaba.algo.cooperation.usercomponent.vo.res.user.SysResourceResponseVO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import java.util.List;

/**
 * 数据字典
 */
@FeignClient(url="${feign.userCenterUrl:}", value = "usercenter-service", contextId = "usercenter-app")
public interface SysDictService {

    @RequestMapping(value = "/sysDict/insert", method = RequestMethod.POST)
    BaseResult insert(@RequestBody CreateDictRequestVO param);

    @RequestMapping(value = "/sysDict/delete", method = RequestMethod.POST)
    BaseResult delete(@RequestBody DeleteDictRequestVO param);

    @RequestMapping(value = "/sysDict/update", method = RequestMethod.POST)
    BaseResult update(@RequestBody UpdateDictRequestVO param);

    @RequestMapping(value = "/sysDict/selectPage", method = RequestMethod.POST)
    BaseResult selectPage(@RequestBody SelectDictListRequestVO param);

    @RequestMapping(value = "/sysDict/selectList", method = RequestMethod.POST)
    BaseResult<List<SysDictResponseVO>> selectList(@RequestBody SelectDictListRequestVO param);

}
